#设置cmake的最低版本和项目名称
cmake_minimum_required(VERSION 3.0)
project(mprpc)

#使用c++11新特性
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF) # 可选：禁用 GNU 扩展，只使用标准 C++

#生成debug版本，进行gdb调试
set(CMAKE_BUILD_TYPE "Debug")

#设置项目可执行文件输出的路径，bin里放的是可执行文件，bulid放的是构建该项目cmake编译什么的中间文件
#example放的是例子怎么使用
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

#设置项目库文件输出的路径。我们的框架最后编译成动态库给别人使用，就放在lib下
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

#设置项目编译头文件的搜素路径，src中放的是我们框架的源代码
include_directories(${PROJECT_SOURCE_DIR}/src/include)#框架的头文件都放在这里
include_directories(${PROJECT_SOURCE_DIR}/example)
#设置项目库文件搜索路径
link_directories(${PROJECT_SOURCE_DIR}/lib)

#src包含了mprpc框架中的所有相关代码
add_subdirectory(src)#在框架目录下寻找可执行的文件

#example中包含了mprpc框架使用的示例代码
add_subdirectory(example)

#autobulid.sh一键编译，README.md项目的自我描述，CMakeLists.txt顶级目录CMake所需要寻找的文件